<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  
  <meta name="description" content="一：Git是什么？
​       Git是目前世界上最先进的分布式版本控制系统。
二：SVN与Git的最主要的区别？
​      SVN是集中式版本控制系统，版本库是集中放在中央服务器的，而干活的时候，用的都是自己的电脑，所以首先要从中央服务器哪里得到最新的版本，然后干活，干完后，需要把自己做完" />
  

  
  
  
  
  
  
  <title>南辞的技术博客</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="一：Git是什么？ ​       Git是目前世界上最先进的分布式版本控制系统。 二：SVN与Git的最主要的区别？ ​      SVN是集中式版本控制系统，版本库是集中放在中央服务器的，而干活的时候，用的都是自己的电脑，所以首先要从中央服务器哪里得到最新的版本，然后干活，干完后，需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作，如果在局域网还可以，带宽够大，速度够快">
<meta property="og:type" content="article">
<meta property="og:title" content="南辞的技术博客">
<meta property="og:url" content="https://yanlidoushikeke.gitee.io/myhexo/2021/01/19/git%20%E4%B8%8A%E4%BC%A0/index.html">
<meta property="og:site_name" content="南辞的技术博客">
<meta property="og:description" content="一：Git是什么？ ​       Git是目前世界上最先进的分布式版本控制系统。 二：SVN与Git的最主要的区别？ ​      SVN是集中式版本控制系统，版本库是集中放在中央服务器的，而干活的时候，用的都是自己的电脑，所以首先要从中央服务器哪里得到最新的版本，然后干活，干完后，需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作，如果在局域网还可以，带宽够大，速度够快">
<meta property="og:locale" content="en_US">
<meta property="article:published_time" content="2021-01-19T12:22:49.268Z">
<meta property="article:modified_time" content="2021-01-19T12:22:49.268Z">
<meta property="article:author" content="南辞">
<meta name="twitter:card" content="summary">
  
  
    <link rel="icon" href="/tefuir/css/images/favicon.ico">
  
  
<link rel="stylesheet" href="/tefuir/css/style.css">

  

  
  <!-- baidu webmaster push -->
  <script src='//push.zhanzhang.baidu.com/push.js'></script>
<meta name="generator" content="Hexo 5.2.0"><link rel="alternate" href="/tefuir/atom.xml" title="南辞的技术博客" type="application/atom+xml">
</head>
<body class="home blog custom-background custom-font-enabled single-author">
  <div id="page" class="hfeed site">
      <header id="masthead" class="site-header" role="banner">
    <hgroup>
      <h1 class="site-title">
        <a href="/tefuir/" title="南辞的技术博客" rel="home">南辞的技术博客</a>
      </h1>
      
        <h2 class="site-description hitokoto"></h2>
        <script type="text/javascript" src="https://v1.hitokoto.cn/?encode=js"></script>
      
    </hgroup>

    <nav id="site-navigation" class="main-navigation" role="navigation">
            <button class="menu-toggle">菜单</button>
            <a class="assistive-text" href="/#content" title="跳至内容">跳至内容</a><!--TODO-->
            <div class="menu-main-container">
                <ul id="menu-main" class="nav-menu">
                
                    <li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="/tefuir/">Home</a></li>
                
                    <li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="/tefuir/archives">Archives</a></li>
                
                </ul>
            </div>
    </nav>
</header>

      <div id="main" class="wrapper">
        <div id="primary" class="site-content"><div id="content" role="main"><article id="post-git 上传" class="post-git 上传 post type-post status-publish format-standard hentry">
    <!---->

      <header class="entry-header">
        
        <div class="comments-link">
            
            <a href="javascript:void(0);" data-url="https://yanlidoushikeke.gitee.io/myhexo/2021/01/19/git%20%E4%B8%8A%E4%BC%A0/" data-id="ckkttwp6d0000csu0gvhngetg" class="leave-reply bdsharebuttonbox" data-cmd="more">Share</a>
        </div><!-- .comments-link -->
      </header><!-- .entry-header -->

    <div class="entry-content">
      
        <p> <strong>一：Git是什么？</strong></p>
<p>​       Git是目前世界上最先进的分布式版本控制系统。</p>
<p><strong>二：SVN与Git的最主要的区别？</strong></p>
<p>​      SVN是集中式版本控制系统，版本库是集中放在中央服务器的，而干活的时候，用的都是自己的电脑，所以首先要从中央服务器哪里得到最新的版本，然后干活，干完后，需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作，如果在局域网还可以，带宽够大，速度够快，如果在互联网下，如果网速慢的话，就纳闷了。</p>
<p>​      Git是分布式版本控制系统，那么它就没有中央服务器的，每个人的电脑就是一个完整的版本库，这样，工作的时候就不需要联网了，因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库，那多个人如何协作呢？比如说自己在电脑上改了文件A，其他人也在电脑上改了文件A，这时，你们两之间只需把各自的修改推送给对方，就可以互相看到对方的修改了。</p>
<p>三：理解工作区与暂存区的区别？</p>
<p>​     <strong>工作区：</strong>就是你在电脑上看到的目录，比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。</p>
<p>​      <strong>版本库**</strong>(Repository)<strong>**：</strong>工作区有一个隐藏目录.git,这个不属于工作区，这是版本库。其中版本库里面存了很多东西，其中最重要的就是stage(暂存区)，还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。</p>
<p>我们前面说过使用Git提交文件到版本库有两步：</p>
<p>  第一步：是使用 git add 把文件添加进去，实际上就是把文件添加到暂存区。</p>
<p>  第二步：使用git commit提交更改，实际上就是把暂存区的所有内容提交到当前分支上。</p>
<p>四.创建git本地仓库</p>
<p><strong>git init</strong></p>
<p>此时会出现提示 : inialized empty Git repository in d://com/liu/.git</p>
<p>4.查看git状态</p>
<p><strong>git status</strong></p>
<p>一般来说会显示需要提交的文件（uncommited）和未追踪的文件（untracked）</p>
<p>uncommited：已有的，刚被修改尚未提交的</p>
<p>untracked：原先没有的，新建的</p>
<p>5.添加git文件到暂存区（需要和版本库区分）</p>
<p><strong>git add <name></strong></p>
<p>6.git提交文件</p>
<p><strong>git commit -m “add a function in test.java”</strong></p>
<p>-m表示注释，为提交时的说明，必须要有！</p>
<p>7.git删除文件（夹）</p>
<p><strong>git rm test.txt</strong> //删除文件</p>
<p><strong>git rm -r filebook</strong> //删除文件夹</p>
<p>git rm和直接删除的区别在于git rm会将此文件的操作记录删除，而直接删除仅仅是删除了物理文件，没有删除和此文件相关的记录。git rm后会在版本库产生区别（有操作日志），而直接删除没有。</p>
<p>可以用下面两种操作在版本库中删除文件：</p>
<p><strong>git rm test.txt</strong> =&gt; <strong>git commit -m ‘delete a file’</strong></p>
<p><strong>rm test.txt</strong> =&gt; <strong>git commit -am ‘delete a file’</strong></p>
<p>注意：命令git rm用于删除一个文件。如果一个文件已经被提交到版本库，那么你永远不用担心误删，但是要小心，你只能恢复文件到最新版本，你会 丢失最近一次提交后你修改的内容。</p>
<p>8.git操作日志</p>
<p><strong>git log –decorate –graph –oneline –all</strong> #显示当前及之前的版本号</p>
<p><strong>git log –pretty=oneline</strong> #将版本历史显示为一行， 历史版本号全部显示</p>
<p><strong>git log –pretty=oneline –abbrev-commit</strong> #将版本历史显示为一行， 历史版本号部分显示</p>
<p><strong>git log –graph</strong> #查看分支合并图</p>
<p>9.版本回退</p>
<p>执行版本退回后，本地工作区的内容会自动和回退到的版本库版本的内容保持同步</p>
<p><strong>git reset –hard HEAD^</strong> 回退到上一个版本</p>
<p><strong>git reset –hard HEAD^^</strong> 回退到上上个版本，以此类推，一次提交即为一个版本</p>
<p><strong>git reset –hard</strong> <em>e9efa77</em> 回退到 <em>e9efa77</em> 版本</p>
<p>10.git还原操作</p>
<p>丢弃工作区的操作，但不会丢失暂存区的操作(add操作能将更改添加到暂存区)，实际上就是用版本库里的版本替换工作区的版本，无论工作区是修改还是删除，都可以“一键还原”</p>
<p><strong>git checkout – readme.txt</strong></p>
<p>11.git暂存区撤销操作</p>
<p>工作区修改了文件，而且执行了add，但还没执行commit，暂存区还是可以撤销的</p>
<p><strong>git reset HEAD readme.txt</strong></p>
<p>备注：git reset命令既可以回退版本，也可以把暂存区的修改回退到工作区。当我们用HEAD时，表示最新的版本。</p>
<p>五.与github/gitee协同使用（git代码托管服务器）</p>
<p>和GitHub相比，码云（Gitee）也提供免费的Git仓库。此外，还集成了代码质量检测、项目演示等功能。对于团队协作开发，码云还提供了项目管理、代码托管、文档管理的服务，5人以下小团队免费。</p>

      
    </div><!-- .entry-content -->

    <footer class="entry-meta">
    <a href="/tefuir/2021/01/19/git%20%E4%B8%8A%E4%BC%A0/">
    <time datetime="2021-01-19T12:22:49.268Z" class="entry-date">
        2021-01-19
    </time>
</a>
    
    
    </footer>
</article>


    
<nav class="nav-single">
    <h3 class="assistive-text">文章导航</h3>
    
        <span class="nav-previous"><a href="/tefuir/2021/01/19/selenium%E6%A8%A1%E6%8B%9F%E6%B3%A8%E5%86%8C%EF%BC%8C%E7%99%BB%E9%99%86%E4%BB%A5%E5%8F%8A%E5%9B%BE%E7%89%87%E9%AA%8C%E8%AF%81%E7%A0%81%E7%9A%84%E7%94%9F%E6%88%90/" rel="prev"><span class="meta-nav">←</span> (no title)</a></span>
    
    
        <span class="nav-next"><a href="/tefuir/2021/01/19/%E7%BA%AF%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2%E7%B3%BB%E7%BB%9F/" rel="next">纯静态博客系统 <span class="meta-nav">→</span></a></span>
    
</nav><!-- .nav-single -->







</div></div>
        <div id="secondary" class="widget-area" role="complementary">
  
    <aside id="search" class="widget widget_search"><form role="search" method="get" accept-charset="utf-8" id="searchform" class="searchform" action="//google.com/search">
    <div>
        <input type="text" value="" name="s" id="s" />
        <input type="submit" id="searchsubmit" value="搜索" />
    </div>
</form></aside>
  
    
  
    
  
    
  <aside class="widget">
    <h3 class="widget-title">Recents</h3>
    <div class="widget-content">
      <ul>
        
          <li>
            <a href="/tefuir/2021/04/26/python%E5%9F%BA%E7%A1%80%E7%90%86%E8%AE%BA%E5%AE%9D%E5%85%B8/">python基础理论宝典</a>
          </li>
        
          <li>
            <a href="/tefuir/2021/04/23/python3-Flask%E7%BB%93%E5%90%88Socket-io%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0%E5%9C%A8%E7%BA%BF%E5%AE%A2%E6%9C%8D%E7%B3%BB%E7%BB%9F/">python3+Flask结合Socket.io简单实现在线客服系统</a>
          </li>
        
          <li>
            <a href="/tefuir/2021/04/23/win10%E7%B3%BB%E7%BB%9F%E4%B8%8B%E5%88%A9%E7%94%A8docker%E9%83%A8%E7%BD%B2gunicorn-Flask%E6%89%93%E9%80%A0%E7%8B%AC%E7%AB%8B%E9%95%9C%E5%83%8F/">win10系统下利用docker部署gunicorn+Flask打造独立镜像</a>
          </li>
        
          <li>
            <a href="/tefuir/2021/04/23/win10%E7%B3%BB%E7%BB%9F%E4%B8%8B%E5%9F%BA%E4%BA%8Edocker%E9%85%8D%E7%BD%AEelasticsearch%E9%85%8D%E5%90%88python3%E8%BF%9B%E8%A1%8C%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/">win10系统下基于docker配置elasticsearch配合python3进行全文检索</a>
          </li>
        
          <li>
            <a href="/tefuir/2021/04/23/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%97%AE%E9%A2%98/">服务器问题</a>
          </li>
        
      </ul>
    </div>
  </aside>

  
    
  
    
  
</div>
      </div>
      <footer id="colophon" role="contentinfo">
    <p>&copy; 2021 南辞
    All rights reserved.</p>
    <p>Powered by <a href="http://hexo.io/" target="_blank">Hexo</a></p>
</footer>
    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"1","bdMiniList":false,"bdPic":"","bdStyle":"2","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='/js/share.js'];</script>

<script src="/js/jquery-3.3.1.min.js"></script>


  
<link rel="stylesheet" href="/tefuir/fancybox/jquery.fancybox.css">

  
<script src="/tefuir/fancybox/jquery.fancybox.pack.js"></script>




<script src="/tefuir/js/script.js"></script>


<script src="/js/navigation.js"></script>

<div id="bg"></div>

  </div>
</body>
</html>